# -*- coding:utf-8 -*-

import uvicorn
import argparse
import sys
import os
from pathlib import Path

# 添加项目路径
project_root = Path(__file__).parent
sys.path.append(str(project_root))

from src.api.endpoints import app
# from config.settings import settings
from config.settings import settings
from src.utils.helpers import setup_logging

def main():
    """主程序入口"""
    parser = argparse.ArgumentParser(description="🚀 动态多目标投资组合优化系统")
    
    parser.add_argument("--host", default=settings.API_HOST, help="API服务器地址")
    parser.add_argument("--port", type=int, default=settings.API_PORT, help="API服务器端口")
    parser.add_argument("--reload", action="store_true", help="开发模式（自动重载）")
    parser.add_argument("--log-level", default="INFO", help="日志级别")
    
    args = parser.parse_args()
    
    # 设置日志
    logger = setup_logging(args.log_level)
    
    logger.info("🚀 启动动态多目标投资组合优化系统...")
    logger.info(f"📡 API服务地址: http://{args.host}:{args.port}")
    logger.info(f"📖 API文档地址: http://{args.host}:{args.port}/docs")
    
    # 创建必要的目录
    os.makedirs("models", exist_ok=True)
    os.makedirs("logs", exist_ok=True)
    os.makedirs("results", exist_ok=True)
    
    # 启动API服务
    uvicorn.run(
        "src.api.endpoints:app",
        host=args.host,
        port=args.port,
        reload=args.reload,
        log_level=args.log_level.lower()
    )

if __name__ == "__main__":
    main()
